package com.example.pojo;



import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import lombok.Data;

import java.time.LocalDateTime;
//lombok 编译阶段，为实体类自动生成setter getter toString
//pom 文件中引入依赖 在实体类上添加注解
@Data
public class User {
    @NotNull
    private Integer id;//主键ID
    @JsonProperty("userName")
    private String username;//用户名
    @JsonIgnore//让springmvc把当前对象装换为json字符串时，忽略password，最终的json字符串中就没有password这个属性
    @JsonProperty("passWord")
    private String password;//密码
    @NotEmpty
    @Pattern(regexp = "^\\S{1,10}$")
    @JsonProperty("nickName")
    private String nickname;
    @Pattern(regexp = "^1[3-9]\\d{9}$")
    @NotEmpty
    @JsonProperty("userPhone")
    private String userphone;//用户号码
    @Email
    @NotEmpty
    private String email;//邮箱
    @JsonProperty("userPic")
    private String userpic;//用户头像地址
    private LocalDateTime createTime;//创建时间
    private LocalDateTime updateTime;//更新时间
}
